package com.car.dal.dao.client;

import java.util.List;

import com.car.bean.GridObj;
import com.car.bean.OrderObj;
import com.car.bean.PageObj;
import com.car.dal.dao.ibatis.IbatisCommonDao;
import com.car.dal.object.TgClientImp;
import com.car.util.Page;

public class TgClientImpDaoImpl extends IbatisCommonDao<TgClientImp, Long> implements TgClientImpDao {

    public GridObj GetList(TgClientImp clientImp, PageObj pageObj) {
        OrderObj order = new OrderObj();
        order.setDir("desc");
        order.setSort("id");
        return super.findByPage(clientImp, pageObj, order);
    }

    public Integer getClientHzByTypeCount(TgClientImp clientImp) {
        return this.queryForInteger("getClientHzByTypeCount", clientImp);
    }

    public List<TgClientImp> getClientHzByType(TgClientImp clientImp, Page page) {
        clientImp.setFirstrownum(page.getFirstrownum());
        clientImp.setPagesize(page.getPagesize());
        List<TgClientImp> list = this.queryForEntityList(TgClientImp.class, "getClientHzByType", clientImp);
        return list;
    }

    public Integer getClientImpCountByType(TgClientImp clientImp) {
        return this.queryForInteger("getClientImpCountByType", clientImp);
    }

    public List<TgClientImp> getClientImpByType(TgClientImp clientImp) {
        List<TgClientImp> list = this.queryForEntityList(TgClientImp.class, "getClientImpByType", clientImp);
        return list;
    }

    public Integer getClientImpByLikeFwTime(TgClientImp clientImp) {
        return this.queryForInteger("getClientImpByLikeFwTime", clientImp);
    }

    public Integer getClientListImpCByType(TgClientImp clientImp) {
        return this.queryForInteger("getClientListImpCByType", clientImp);
    }

    public List<TgClientImp> getClientListImpByType(TgClientImp clientImp, Page page) {
        clientImp.setFirstrownum(page.getFirstrownum());
        clientImp.setPagesize(page.getPagesize());
        List<TgClientImp> list = this.queryForEntityList(TgClientImp.class, "getClientListImpByType", clientImp);
        return list;
    }

    public Integer getClientListImpCByType2(TgClientImp clientImp) {
        return this.queryForInteger("getClientListImpCByType2", clientImp);
    }

    public List<TgClientImp> getClientListImpByType2(TgClientImp clientImp, Page page) {
        clientImp.setFirstrownum(page.getFirstrownum());
        clientImp.setPagesize(page.getPagesize());
        List<TgClientImp> list = this.queryForEntityList(TgClientImp.class, "getClientListImpByType2", clientImp);
        return list;
    }

    public List<TgClientImp> getClientImpStatisCByType(TgClientImp clientImp) {
        List<TgClientImp> list = this.queryForEntityList(TgClientImp.class, "getClientImpStatisCByType", clientImp);
        return list;
    }

    @Override
    public Integer getClientImpStatisCByType2(TgClientImp clientImp) {
        return this.queryForInteger("getClientImpStatisCByType2", clientImp);
    }

	@Override
	public Integer getClientListImpCByType3(TgClientImp clientImp) {
		return this.queryForInteger("getClientListImpCByType3", clientImp);
	}

	@Override
	public List<TgClientImp> getClientListImpByType3(TgClientImp clientImp, Page page) {
		clientImp.setFirstrownum(page.getFirstrownum());
        clientImp.setPagesize(page.getPagesize());
        List<TgClientImp> list = this.queryForEntityList(TgClientImp.class, "getClientListImpByType3", clientImp);
        return list;
	}


}
